<?php

namespace app\common\model\setting;

use tmcore\base\BaseModel;
use tmcore\traits\ModelTrait;

/**
 * 存储配置模型
 */
class ConfigUpload extends BaseModel
{
    use ModelTrait;

    /**
     * 获取参数
     * @param $value
     * @return array
     */
    public function getParamsAttr($value): array
    {
        if ($value) {
            return json_decode($value, JSON_UNESCAPED_UNICODE);
        }
        return [];
    }

    /**
     * 设置参数
     * @param $value
     * @return false|string
     */
    public function setParamsAttr($value)
    {
        if (is_array($value)) {
            return json_encode($value, JSON_UNESCAPED_UNICODE);
        } else {
            return $value;
        }
    }

    /**
     * 获取存储配置参数
     * @param string $identify
     * @return array
     */
    public static function getParams($identify = ''): array
    {
        $model = new self;
        $where = $identify?['identify'=>$identify]:['is_default'=>1];
        $result = $model->field(true)->where($where)
            ->findOrEmpty()->toArray();

        return $result ? $result['params'] : [];
    }
}